<!DOCTYPE html>
<html lang="en-us">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    
    <title>艾伦的个人博客</title>
    <meta name="viewport" content="width=device-width,minimum-scale=1">
    <meta name="description" content="">
    <meta name="generator" content="Hugo 0.147.8">
    
    
    
      <meta name="robots" content="index, follow">
    
    

    
<link rel="stylesheet" href="/ananke/css/main.min.8d048772ae72ab11245a0e296d1f2a36d3e3dd376c6c867394d6cc659c68fc37.css" >




    


    
      

    

    
    
      <link href="/index.xml" rel="alternate" type="application/rss+xml" title="艾伦的个人博客" />
      <link href="/index.xml" rel="feed" type="application/rss+xml" title="艾伦的个人博客" />
      
    

    
      <link rel="canonical" href="https://snowtrace-chui.gitee.io/">
    

    <meta property="og:url" content="https://snowtrace-chui.gitee.io/">
  <meta property="og:site_name" content="艾伦的个人博客">
  <meta property="og:title" content="艾伦的个人博客">
  <meta property="og:locale" content="en_us">
  <meta property="og:type" content="website">

  <meta itemprop="name" content="艾伦的个人博客">
  <meta itemprop="datePublished" content="2022-11-20T09:03:20-08:00">
  <meta itemprop="dateModified" content="2022-11-20T09:03:20-08:00">
  <meta name="twitter:card" content="summary">
  <meta name="twitter:title" content="艾伦的个人博客">

      
    
	
  </head><body class="ma0 avenir bg-near-white production">

    

  <header>
    <div class="pb3-m pb6-l bg-black">
      <nav class="pv3 ph3 ph4-ns" role="navigation">
  <div class="flex-l center items-center justify-between">
    <a href="/" class="f3 fw2 hover-white white-90 dib no-underline">
      
        艾伦的个人博客
      
    </a>
    <div class="flex-l items-center">
      

      
      <div class="ananke-socials"></div>

    </div>
  </div>
</nav>

      <div class="tc-l pv3 ph3 ph4-ns">
        <h1 class="f2 f-subheadline-l fw2 light-silver mb0 lh-title">
          艾伦的个人博客
        </h1>
        
      </div>
    </div>
  </header>


    <main class="pb7" role="main">
      
  <article class="cf ph3 ph5-l pv3 pv4-l f4 tc-l center measure-wide lh-copy nested-links mid-gray">
    
  </article>

  
  
  
  
  

  
    <div class="pa3 pa4-ns w-100 w-70-ns center">
      

      <section class="w-100 mw8">
        
        
          <div class="w-100 mb4 relative">
            
<article class="bb b--black-10">
  <div class="db pv4 ph3 ph0-l dark-gray no-underline">
    <div class="flex-column flex-row-ns flex">
      
      <div class="blah w-100">
        <h1 class="f3 fw1 athelas mt0 lh-title">
          <a href="/posts/hello-world/" class="color-inherit dim link">
            我的第一篇文章
            </a>
        </h1>
        <div class="f6 f5-l lh-copy nested-copy-line-height nested-links">
          <h2 id="简介">简介</h2>
<p>这是 <strong>粗体</strong> 文本，这是 <em>斜体</em> 文本。</p>
<p>访问 <a href="https://gohugo.io">Hugo</a> 网站！</p>
<p>⚙️ 一、状态同步技术</p>
<p>帧同步（Lockstep）
原理：所有客户端按固定频率发送操作指令到服务器，服务器广播后各客户端基于相同初始状态和逻辑独立计算结果。
适用场景：MOBA、RTS等强一致性要求的游戏（如《英雄联盟》）。
优化点：通过指令压缩和确定性逻辑减少带宽，但需处理网络延迟导致的卡顿（如插值补偿）19。
状态同步（State Synchronization）
原理：服务器作为权威状态源，定时广播实体状态（位置、血量等），客户端插值平滑显示。
优化点：
增量更新：仅同步变化的状态字段（如坐标差值）。
优先级同步：按实体距离动态调整同步频率69。
影子跟随算法（Dead Reckoning）
原理：客户端实体持续追逐服务器下发的“影子状态”，通过插值计算平滑过渡，避免网络抖动引起的瞬移。
关键技术：
惯性补偿：为移动物体添加加速度模型（如赛车游戏）。
关键状态缓存：缓存跳跃、落地等关键动作，避免逻辑断裂9。
📶 二、网络传输优化</p>
<p>协议选择与优化
UDP + 可靠层：基于UDP实现自定义可靠传输（如KCP、QUIC），降低TCP重传延迟69。
数据压缩：
二进制序列化（Protobuf/FlatBuffers）。
差值压缩：仅传输变化量（如坐标增量）6。
多路径传输与丢包补偿
多路径传输：同时使用WiFi/4G链路分流数据。
FEC（前向纠错）：添加冗余数据包，丢包时自行恢复。
动态码率调整：根据网络质量动态降低数据精度69。
⚖️ 三、负载均衡架构</p>
<p>分层负载策略
接入层：
网关（Gate）：通过加权最少连接（Weighted Least Connections）分配玩家到逻辑服26。
动态调度：基于ETCD/Redis实时收集服务器负载（连接数、CPU），Login服务分配低负载Gate2。
逻辑层：
分区分服：按地理位置或玩家密度分区（如华北/华东服）。
动态扩缩容：基于Kubernetes自动扩容Game实例210。
负载均衡器类型选择
类型	适用场景	性能指标
NLB（4层）	TCP/UDP大流量（如FPS战斗）	支持亿级并发连接4
ALB（7层）	HTTP/WebSocket（如社交功能）	百万QPS4
💾 四、数据同步与持久化</p>
<p>分布式缓存策略
Redis集群：
存储在线玩家状态（如roleID → gameID），通过SETNX实现互斥登录2。
发布订阅（Pub/Sub）跨服通信（如全服聊天）2。
本地缓存：玩家数据缓存15分钟，短时重连无需读DB2。
数据库优化
分库分表：按玩家ID哈希分片。
异步写回：先将数据写入缓存，定时批量落盘58。
🌐 五、边缘计算与混合部署</p>
        </div>
        <a href="/posts/hello-world/" class="ba b--moon-gray bg-light-gray br2 color-inherit dib f7 hover-bg-moon-gray link mt2 ph2 pv1">read more</a>
      </div>
    </div>
  </div>
</article>

          </div>
        
      </section>

      

    </div>
  

    </main>
    <footer class="bg-black bottom-0 w-100 pa3" role="contentinfo">
  <div class="flex justify-between">
  <a class="f4 fw4 hover-white white-70 dn dib-ns pv2 ph3 no-underline" href="https://snowtrace-chui.gitee.io/" >
    &copy;  艾伦的个人博客 2025 
  </a>
    <div><div class="ananke-socials"></div>
</div>
  </div>
</footer>

  </body>
</html>
